// Code generated by protoc-gen-go. DO NOT EDIT.

package protocol

import (
	reflect "reflect"
	sync "sync"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type Hybrid_FusionType int32

const (
	Hybrid_FUSION_TYPE_UNSPECIFIED    Hybrid_FusionType = 0
	Hybrid_FUSION_TYPE_RANKED         Hybrid_FusionType = 1
	Hybrid_FUSION_TYPE_RELATIVE_SCORE Hybrid_FusionType = 2
)

// Enum value maps for Hybrid_FusionType.
var (
	Hybrid_FusionType_name = map[int32]string{
		0: "FUSION_TYPE_UNSPECIFIED",
		1: "FUSION_TYPE_RANKED",
		2: "FUSION_TYPE_RELATIVE_SCORE",
	}
	Hybrid_FusionType_value = map[string]int32{
		"FUSION_TYPE_UNSPECIFIED":    0,
		"FUSION_TYPE_RANKED":         1,
		"FUSION_TYPE_RELATIVE_SCORE": 2,
	}
)

func (x Hybrid_FusionType) Enum() *Hybrid_FusionType {
	p := new(Hybrid_FusionType)
	*p = x
	return p
}

func (x Hybrid_FusionType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Hybrid_FusionType) Descriptor() protoreflect.EnumDescriptor {
	return file_v1_search_get_proto_enumTypes[0].Descriptor()
}

func (Hybrid_FusionType) Type() protoreflect.EnumType {
	return &file_v1_search_get_proto_enumTypes[0]
}

func (x Hybrid_FusionType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Hybrid_FusionType.Descriptor instead.
func (Hybrid_FusionType) EnumDescriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{7, 0}
}

type SearchRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// required
	Collection string `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"`
	// parameters
	Tenant           string            `protobuf:"bytes,10,opt,name=tenant,proto3" json:"tenant,omitempty"`
	ConsistencyLevel *ConsistencyLevel `protobuf:"varint,11,opt,name=consistency_level,json=consistencyLevel,proto3,enum=weaviate.v1.ConsistencyLevel,oneof" json:"consistency_level,omitempty"`
	// what is returned
	Properties *PropertiesRequest `protobuf:"bytes,20,opt,name=properties,proto3,oneof" json:"properties,omitempty"`
	Metadata   *MetadataRequest   `protobuf:"bytes,21,opt,name=metadata,proto3,oneof" json:"metadata,omitempty"`
	GroupBy    *GroupBy           `protobuf:"bytes,22,opt,name=group_by,json=groupBy,proto3,oneof" json:"group_by,omitempty"`
	// affects order and length of results. 0/empty (default value) means disabled
	Limit   uint32 `protobuf:"varint,30,opt,name=limit,proto3" json:"limit,omitempty"`
	Offset  uint32 `protobuf:"varint,31,opt,name=offset,proto3" json:"offset,omitempty"`
	Autocut uint32 `protobuf:"varint,32,opt,name=autocut,proto3" json:"autocut,omitempty"`
	After   string `protobuf:"bytes,33,opt,name=after,proto3" json:"after,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	SortBy []*SortBy `protobuf:"bytes,34,rep,name=sort_by,json=sortBy,proto3" json:"sort_by,omitempty"`
	// matches/searches for objects
	Filters      *Filters           `protobuf:"bytes,40,opt,name=filters,proto3,oneof" json:"filters,omitempty"`
	HybridSearch *Hybrid            `protobuf:"bytes,41,opt,name=hybrid_search,json=hybridSearch,proto3,oneof" json:"hybrid_search,omitempty"`
	Bm25Search   *BM25              `protobuf:"bytes,42,opt,name=bm25_search,json=bm25Search,proto3,oneof" json:"bm25_search,omitempty"`
	NearVector   *NearVector        `protobuf:"bytes,43,opt,name=near_vector,json=nearVector,proto3,oneof" json:"near_vector,omitempty"`
	NearObject   *NearObject        `protobuf:"bytes,44,opt,name=near_object,json=nearObject,proto3,oneof" json:"near_object,omitempty"`
	NearText     *NearTextSearch    `protobuf:"bytes,45,opt,name=near_text,json=nearText,proto3,oneof" json:"near_text,omitempty"`
	NearImage    *NearImageSearch   `protobuf:"bytes,46,opt,name=near_image,json=nearImage,proto3,oneof" json:"near_image,omitempty"`
	NearAudio    *NearAudioSearch   `protobuf:"bytes,47,opt,name=near_audio,json=nearAudio,proto3,oneof" json:"near_audio,omitempty"`
	NearVideo    *NearVideoSearch   `protobuf:"bytes,48,opt,name=near_video,json=nearVideo,proto3,oneof" json:"near_video,omitempty"`
	NearDepth    *NearDepthSearch   `protobuf:"bytes,49,opt,name=near_depth,json=nearDepth,proto3,oneof" json:"near_depth,omitempty"`
	NearThermal  *NearThermalSearch `protobuf:"bytes,50,opt,name=near_thermal,json=nearThermal,proto3,oneof" json:"near_thermal,omitempty"`
	NearImu      *NearIMUSearch     `protobuf:"bytes,51,opt,name=near_imu,json=nearImu,proto3,oneof" json:"near_imu,omitempty"`
	Generative   *GenerativeSearch  `protobuf:"bytes,60,opt,name=generative,proto3,oneof" json:"generative,omitempty"`
	Rerank       *Rerank            `protobuf:"bytes,61,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Uses_123Api bool `protobuf:"varint,100,opt,name=uses_123_api,json=uses123Api,proto3" json:"uses_123_api,omitempty"`
	Uses_125Api bool `protobuf:"varint,101,opt,name=uses_125_api,json=uses125Api,proto3" json:"uses_125_api,omitempty"`
}

func (x *SearchRequest) Reset() {
	*x = SearchRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchRequest) ProtoMessage() {}

func (x *SearchRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead.
func (*SearchRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{0}
}

func (x *SearchRequest) GetCollection() string {
	if x != nil {
		return x.Collection
	}
	return ""
}

func (x *SearchRequest) GetTenant() string {
	if x != nil {
		return x.Tenant
	}
	return ""
}

func (x *SearchRequest) GetConsistencyLevel() ConsistencyLevel {
	if x != nil && x.ConsistencyLevel != nil {
		return *x.ConsistencyLevel
	}
	return ConsistencyLevel_CONSISTENCY_LEVEL_UNSPECIFIED
}

func (x *SearchRequest) GetProperties() *PropertiesRequest {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *SearchRequest) GetMetadata() *MetadataRequest {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *SearchRequest) GetGroupBy() *GroupBy {
	if x != nil {
		return x.GroupBy
	}
	return nil
}

func (x *SearchRequest) GetLimit() uint32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *SearchRequest) GetOffset() uint32 {
	if x != nil {
		return x.Offset
	}
	return 0
}

func (x *SearchRequest) GetAutocut() uint32 {
	if x != nil {
		return x.Autocut
	}
	return 0
}

func (x *SearchRequest) GetAfter() string {
	if x != nil {
		return x.After
	}
	return ""
}

func (x *SearchRequest) GetSortBy() []*SortBy {
	if x != nil {
		return x.SortBy
	}
	return nil
}

func (x *SearchRequest) GetFilters() *Filters {
	if x != nil {
		return x.Filters
	}
	return nil
}

func (x *SearchRequest) GetHybridSearch() *Hybrid {
	if x != nil {
		return x.HybridSearch
	}
	return nil
}

func (x *SearchRequest) GetBm25Search() *BM25 {
	if x != nil {
		return x.Bm25Search
	}
	return nil
}

func (x *SearchRequest) GetNearVector() *NearVector {
	if x != nil {
		return x.NearVector
	}
	return nil
}

func (x *SearchRequest) GetNearObject() *NearObject {
	if x != nil {
		return x.NearObject
	}
	return nil
}

func (x *SearchRequest) GetNearText() *NearTextSearch {
	if x != nil {
		return x.NearText
	}
	return nil
}

func (x *SearchRequest) GetNearImage() *NearImageSearch {
	if x != nil {
		return x.NearImage
	}
	return nil
}

func (x *SearchRequest) GetNearAudio() *NearAudioSearch {
	if x != nil {
		return x.NearAudio
	}
	return nil
}

func (x *SearchRequest) GetNearVideo() *NearVideoSearch {
	if x != nil {
		return x.NearVideo
	}
	return nil
}

func (x *SearchRequest) GetNearDepth() *NearDepthSearch {
	if x != nil {
		return x.NearDepth
	}
	return nil
}

func (x *SearchRequest) GetNearThermal() *NearThermalSearch {
	if x != nil {
		return x.NearThermal
	}
	return nil
}

func (x *SearchRequest) GetNearImu() *NearIMUSearch {
	if x != nil {
		return x.NearImu
	}
	return nil
}

func (x *SearchRequest) GetGenerative() *GenerativeSearch {
	if x != nil {
		return x.Generative
	}
	return nil
}

func (x *SearchRequest) GetRerank() *Rerank {
	if x != nil {
		return x.Rerank
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *SearchRequest) GetUses_123Api() bool {
	if x != nil {
		return x.Uses_123Api
	}
	return false
}

func (x *SearchRequest) GetUses_125Api() bool {
	if x != nil {
		return x.Uses_125Api
	}
	return false
}

type GroupBy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// currently only supports one entry (eg just properties, no refs). But might
	// be extended in the future.
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Path            []string `protobuf:"bytes,1,rep,name=path,proto3" json:"path,omitempty"`
	NumberOfGroups  int32    `protobuf:"varint,2,opt,name=number_of_groups,json=numberOfGroups,proto3" json:"number_of_groups,omitempty"`
	ObjectsPerGroup int32    `protobuf:"varint,3,opt,name=objects_per_group,json=objectsPerGroup,proto3" json:"objects_per_group,omitempty"`
}

func (x *GroupBy) Reset() {
	*x = GroupBy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GroupBy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GroupBy) ProtoMessage() {}

func (x *GroupBy) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GroupBy.ProtoReflect.Descriptor instead.
func (*GroupBy) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{1}
}

func (x *GroupBy) GetPath() []string {
	if x != nil {
		return x.Path
	}
	return nil
}

func (x *GroupBy) GetNumberOfGroups() int32 {
	if x != nil {
		return x.NumberOfGroups
	}
	return 0
}

func (x *GroupBy) GetObjectsPerGroup() int32 {
	if x != nil {
		return x.ObjectsPerGroup
	}
	return 0
}

type SortBy struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Ascending bool `protobuf:"varint,1,opt,name=ascending,proto3" json:"ascending,omitempty"`
	// currently only supports one entry (eg just properties, no refs). But the
	// weaviate datastructure already has paths in it and this makes it easily
	// extendable in the future
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Path []string `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
}

func (x *SortBy) Reset() {
	*x = SortBy{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SortBy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SortBy) ProtoMessage() {}

func (x *SortBy) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SortBy.ProtoReflect.Descriptor instead.
func (*SortBy) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{2}
}

func (x *SortBy) GetAscending() bool {
	if x != nil {
		return x.Ascending
	}
	return false
}

func (x *SortBy) GetPath() []string {
	if x != nil {
		return x.Path
	}
	return nil
}

type GenerativeSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SingleResponsePrompt string   `protobuf:"bytes,1,opt,name=single_response_prompt,json=singleResponsePrompt,proto3" json:"single_response_prompt,omitempty"`
	GroupedResponseTask  string   `protobuf:"bytes,2,opt,name=grouped_response_task,json=groupedResponseTask,proto3" json:"grouped_response_task,omitempty"`
	GroupedProperties    []string `protobuf:"bytes,3,rep,name=grouped_properties,json=groupedProperties,proto3" json:"grouped_properties,omitempty"`
}

func (x *GenerativeSearch) Reset() {
	*x = GenerativeSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeSearch) ProtoMessage() {}

func (x *GenerativeSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeSearch.ProtoReflect.Descriptor instead.
func (*GenerativeSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{3}
}

func (x *GenerativeSearch) GetSingleResponsePrompt() string {
	if x != nil {
		return x.SingleResponsePrompt
	}
	return ""
}

func (x *GenerativeSearch) GetGroupedResponseTask() string {
	if x != nil {
		return x.GroupedResponseTask
	}
	return ""
}

func (x *GenerativeSearch) GetGroupedProperties() []string {
	if x != nil {
		return x.GroupedProperties
	}
	return nil
}

type MetadataRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Uuid               bool     `protobuf:"varint,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
	Vector             bool     `protobuf:"varint,2,opt,name=vector,proto3" json:"vector,omitempty"`
	CreationTimeUnix   bool     `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"`
	LastUpdateTimeUnix bool     `protobuf:"varint,4,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"`
	Distance           bool     `protobuf:"varint,5,opt,name=distance,proto3" json:"distance,omitempty"`
	Certainty          bool     `protobuf:"varint,6,opt,name=certainty,proto3" json:"certainty,omitempty"`
	Score              bool     `protobuf:"varint,7,opt,name=score,proto3" json:"score,omitempty"`
	ExplainScore       bool     `protobuf:"varint,8,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"`
	IsConsistent       bool     `protobuf:"varint,9,opt,name=is_consistent,json=isConsistent,proto3" json:"is_consistent,omitempty"`
	Vectors            []string `protobuf:"bytes,10,rep,name=vectors,proto3" json:"vectors,omitempty"`
}

func (x *MetadataRequest) Reset() {
	*x = MetadataRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetadataRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetadataRequest) ProtoMessage() {}

func (x *MetadataRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetadataRequest.ProtoReflect.Descriptor instead.
func (*MetadataRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{4}
}

func (x *MetadataRequest) GetUuid() bool {
	if x != nil {
		return x.Uuid
	}
	return false
}

func (x *MetadataRequest) GetVector() bool {
	if x != nil {
		return x.Vector
	}
	return false
}

func (x *MetadataRequest) GetCreationTimeUnix() bool {
	if x != nil {
		return x.CreationTimeUnix
	}
	return false
}

func (x *MetadataRequest) GetLastUpdateTimeUnix() bool {
	if x != nil {
		return x.LastUpdateTimeUnix
	}
	return false
}

func (x *MetadataRequest) GetDistance() bool {
	if x != nil {
		return x.Distance
	}
	return false
}

func (x *MetadataRequest) GetCertainty() bool {
	if x != nil {
		return x.Certainty
	}
	return false
}

func (x *MetadataRequest) GetScore() bool {
	if x != nil {
		return x.Score
	}
	return false
}

func (x *MetadataRequest) GetExplainScore() bool {
	if x != nil {
		return x.ExplainScore
	}
	return false
}

func (x *MetadataRequest) GetIsConsistent() bool {
	if x != nil {
		return x.IsConsistent
	}
	return false
}

func (x *MetadataRequest) GetVectors() []string {
	if x != nil {
		return x.Vectors
	}
	return nil
}

type PropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	NonRefProperties          []string                   `protobuf:"bytes,1,rep,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"`
	RefProperties             []*RefPropertiesRequest    `protobuf:"bytes,2,rep,name=ref_properties,json=refProperties,proto3" json:"ref_properties,omitempty"`
	ObjectProperties          []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
	ReturnAllNonrefProperties bool                       `protobuf:"varint,11,opt,name=return_all_nonref_properties,json=returnAllNonrefProperties,proto3" json:"return_all_nonref_properties,omitempty"`
}

func (x *PropertiesRequest) Reset() {
	*x = PropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PropertiesRequest) ProtoMessage() {}

func (x *PropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PropertiesRequest.ProtoReflect.Descriptor instead.
func (*PropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{5}
}

func (x *PropertiesRequest) GetNonRefProperties() []string {
	if x != nil {
		return x.NonRefProperties
	}
	return nil
}

func (x *PropertiesRequest) GetRefProperties() []*RefPropertiesRequest {
	if x != nil {
		return x.RefProperties
	}
	return nil
}

func (x *PropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

func (x *PropertiesRequest) GetReturnAllNonrefProperties() bool {
	if x != nil {
		return x.ReturnAllNonrefProperties
	}
	return false
}

type ObjectPropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	PropName            string                     `protobuf:"bytes,1,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"`
	PrimitiveProperties []string                   `protobuf:"bytes,2,rep,name=primitive_properties,json=primitiveProperties,proto3" json:"primitive_properties,omitempty"`
	ObjectProperties    []*ObjectPropertiesRequest `protobuf:"bytes,3,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
}

func (x *ObjectPropertiesRequest) Reset() {
	*x = ObjectPropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ObjectPropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ObjectPropertiesRequest) ProtoMessage() {}

func (x *ObjectPropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ObjectPropertiesRequest.ProtoReflect.Descriptor instead.
func (*ObjectPropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{6}
}

func (x *ObjectPropertiesRequest) GetPropName() string {
	if x != nil {
		return x.PropName
	}
	return ""
}

func (x *ObjectPropertiesRequest) GetPrimitiveProperties() []string {
	if x != nil {
		return x.PrimitiveProperties
	}
	return nil
}

func (x *ObjectPropertiesRequest) GetObjectProperties() []*ObjectPropertiesRequest {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

type Hybrid struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Query      string   `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector        []float32         `protobuf:"fixed32,3,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes
	Alpha         float32           `protobuf:"fixed32,4,opt,name=alpha,proto3" json:"alpha,omitempty"`
	FusionType    Hybrid_FusionType `protobuf:"varint,5,opt,name=fusion_type,json=fusionType,proto3,enum=weaviate.v1.Hybrid_FusionType" json:"fusion_type,omitempty"`
	VectorBytes   []byte            `protobuf:"bytes,6,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	TargetVectors []string          `protobuf:"bytes,7,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
	NearText      *NearTextSearch   `protobuf:"bytes,8,opt,name=near_text,json=nearText,proto3" json:"near_text,omitempty"`
	NearVector    *NearVector       `protobuf:"bytes,9,opt,name=near_vector,json=nearVector,proto3" json:"near_vector,omitempty"`
	GroupBy       *GroupBy          `protobuf:"bytes,10,opt,name=group_by,json=groupBy,proto3" json:"group_by,omitempty"`
}

func (x *Hybrid) Reset() {
	*x = Hybrid{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Hybrid) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Hybrid) ProtoMessage() {}

func (x *Hybrid) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Hybrid.ProtoReflect.Descriptor instead.
func (*Hybrid) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{7}
}

func (x *Hybrid) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *Hybrid) GetProperties() []string {
	if x != nil {
		return x.Properties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *Hybrid) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *Hybrid) GetAlpha() float32 {
	if x != nil {
		return x.Alpha
	}
	return 0
}

func (x *Hybrid) GetFusionType() Hybrid_FusionType {
	if x != nil {
		return x.FusionType
	}
	return Hybrid_FUSION_TYPE_UNSPECIFIED
}

func (x *Hybrid) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

func (x *Hybrid) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

func (x *Hybrid) GetNearText() *NearTextSearch {
	if x != nil {
		return x.NearText
	}
	return nil
}

func (x *Hybrid) GetNearVector() *NearVector {
	if x != nil {
		return x.NearVector
	}
	return nil
}

func (x *Hybrid) GetGroupBy() *GroupBy {
	if x != nil {
		return x.GroupBy
	}
	return nil
}

type NearTextSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	Query         []string             `protobuf:"bytes,1,rep,name=query,proto3" json:"query,omitempty"`
	Certainty     *float64             `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64             `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	MoveTo        *NearTextSearch_Move `protobuf:"bytes,4,opt,name=move_to,json=moveTo,proto3,oneof" json:"move_to,omitempty"`
	MoveAway      *NearTextSearch_Move `protobuf:"bytes,5,opt,name=move_away,json=moveAway,proto3,oneof" json:"move_away,omitempty"`
	TargetVectors []string             `protobuf:"bytes,6,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearTextSearch) Reset() {
	*x = NearTextSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearTextSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearTextSearch) ProtoMessage() {}

func (x *NearTextSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearTextSearch.ProtoReflect.Descriptor instead.
func (*NearTextSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{8}
}

func (x *NearTextSearch) GetQuery() []string {
	if x != nil {
		return x.Query
	}
	return nil
}

func (x *NearTextSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearTextSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearTextSearch) GetMoveTo() *NearTextSearch_Move {
	if x != nil {
		return x.MoveTo
	}
	return nil
}

func (x *NearTextSearch) GetMoveAway() *NearTextSearch_Move {
	if x != nil {
		return x.MoveAway
	}
	return nil
}

func (x *NearTextSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearImageSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Image         string   `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearImageSearch) Reset() {
	*x = NearImageSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearImageSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearImageSearch) ProtoMessage() {}

func (x *NearImageSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearImageSearch.ProtoReflect.Descriptor instead.
func (*NearImageSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{9}
}

func (x *NearImageSearch) GetImage() string {
	if x != nil {
		return x.Image
	}
	return ""
}

func (x *NearImageSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearImageSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearImageSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearAudioSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Audio         string   `protobuf:"bytes,1,opt,name=audio,proto3" json:"audio,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearAudioSearch) Reset() {
	*x = NearAudioSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearAudioSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearAudioSearch) ProtoMessage() {}

func (x *NearAudioSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearAudioSearch.ProtoReflect.Descriptor instead.
func (*NearAudioSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{10}
}

func (x *NearAudioSearch) GetAudio() string {
	if x != nil {
		return x.Audio
	}
	return ""
}

func (x *NearAudioSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearAudioSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearAudioSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearVideoSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Video         string   `protobuf:"bytes,1,opt,name=video,proto3" json:"video,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearVideoSearch) Reset() {
	*x = NearVideoSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearVideoSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearVideoSearch) ProtoMessage() {}

func (x *NearVideoSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearVideoSearch.ProtoReflect.Descriptor instead.
func (*NearVideoSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{11}
}

func (x *NearVideoSearch) GetVideo() string {
	if x != nil {
		return x.Video
	}
	return ""
}

func (x *NearVideoSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearVideoSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearVideoSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearDepthSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Depth         string   `protobuf:"bytes,1,opt,name=depth,proto3" json:"depth,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearDepthSearch) Reset() {
	*x = NearDepthSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearDepthSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearDepthSearch) ProtoMessage() {}

func (x *NearDepthSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearDepthSearch.ProtoReflect.Descriptor instead.
func (*NearDepthSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{12}
}

func (x *NearDepthSearch) GetDepth() string {
	if x != nil {
		return x.Depth
	}
	return ""
}

func (x *NearDepthSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearDepthSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearDepthSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearThermalSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Thermal       string   `protobuf:"bytes,1,opt,name=thermal,proto3" json:"thermal,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearThermalSearch) Reset() {
	*x = NearThermalSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearThermalSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearThermalSearch) ProtoMessage() {}

func (x *NearThermalSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearThermalSearch.ProtoReflect.Descriptor instead.
func (*NearThermalSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{13}
}

func (x *NearThermalSearch) GetThermal() string {
	if x != nil {
		return x.Thermal
	}
	return ""
}

func (x *NearThermalSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearThermalSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearThermalSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearIMUSearch struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Imu           string   `protobuf:"bytes,1,opt,name=imu,proto3" json:"imu,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearIMUSearch) Reset() {
	*x = NearIMUSearch{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearIMUSearch) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearIMUSearch) ProtoMessage() {}

func (x *NearIMUSearch) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearIMUSearch.ProtoReflect.Descriptor instead.
func (*NearIMUSearch) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{14}
}

func (x *NearIMUSearch) GetImu() string {
	if x != nil {
		return x.Imu
	}
	return ""
}

func (x *NearIMUSearch) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearIMUSearch) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearIMUSearch) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type BM25 struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Query      string   `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
	Properties []string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty"`
	GroupBy    *GroupBy `protobuf:"bytes,3,opt,name=group_by,json=groupBy,proto3" json:"group_by,omitempty"`
}

func (x *BM25) Reset() {
	*x = BM25{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BM25) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BM25) ProtoMessage() {}

func (x *BM25) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BM25.ProtoReflect.Descriptor instead.
func (*BM25) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{15}
}

func (x *BM25) GetQuery() string {
	if x != nil {
		return x.Query
	}
	return ""
}

func (x *BM25) GetProperties() []string {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *BM25) GetGroupBy() *GroupBy {
	if x != nil {
		return x.GroupBy
	}
	return nil
}

type RefPropertiesRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ReferenceProperty string             `protobuf:"bytes,1,opt,name=reference_property,json=referenceProperty,proto3" json:"reference_property,omitempty"`
	Properties        *PropertiesRequest `protobuf:"bytes,2,opt,name=properties,proto3" json:"properties,omitempty"`
	Metadata          *MetadataRequest   `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	TargetCollection  string             `protobuf:"bytes,4,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"`
}

func (x *RefPropertiesRequest) Reset() {
	*x = RefPropertiesRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefPropertiesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefPropertiesRequest) ProtoMessage() {}

func (x *RefPropertiesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefPropertiesRequest.ProtoReflect.Descriptor instead.
func (*RefPropertiesRequest) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{16}
}

func (x *RefPropertiesRequest) GetReferenceProperty() string {
	if x != nil {
		return x.ReferenceProperty
	}
	return ""
}

func (x *RefPropertiesRequest) GetProperties() *PropertiesRequest {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *RefPropertiesRequest) GetMetadata() *MetadataRequest {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *RefPropertiesRequest) GetTargetCollection() string {
	if x != nil {
		return x.TargetCollection
	}
	return ""
}

type NearVector struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector        []float32 `protobuf:"fixed32,1,rep,packed,name=vector,proto3" json:"vector,omitempty"` // will be removed in the future, use vector_bytes
	Certainty     *float64  `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64  `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	VectorBytes   []byte    `protobuf:"bytes,4,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	TargetVectors []string  `protobuf:"bytes,5,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearVector) Reset() {
	*x = NearVector{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearVector) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearVector) ProtoMessage() {}

func (x *NearVector) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearVector.ProtoReflect.Descriptor instead.
func (*NearVector) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{17}
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *NearVector) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *NearVector) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearVector) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearVector) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

func (x *NearVector) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type NearObject struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id            string   `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Certainty     *float64 `protobuf:"fixed64,2,opt,name=certainty,proto3,oneof" json:"certainty,omitempty"`
	Distance      *float64 `protobuf:"fixed64,3,opt,name=distance,proto3,oneof" json:"distance,omitempty"`
	TargetVectors []string `protobuf:"bytes,4,rep,name=target_vectors,json=targetVectors,proto3" json:"target_vectors,omitempty"`
}

func (x *NearObject) Reset() {
	*x = NearObject{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearObject) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearObject) ProtoMessage() {}

func (x *NearObject) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearObject.ProtoReflect.Descriptor instead.
func (*NearObject) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{18}
}

func (x *NearObject) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *NearObject) GetCertainty() float64 {
	if x != nil && x.Certainty != nil {
		return *x.Certainty
	}
	return 0
}

func (x *NearObject) GetDistance() float64 {
	if x != nil && x.Distance != nil {
		return *x.Distance
	}
	return 0
}

func (x *NearObject) GetTargetVectors() []string {
	if x != nil {
		return x.TargetVectors
	}
	return nil
}

type Rerank struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Property string  `protobuf:"bytes,1,opt,name=property,proto3" json:"property,omitempty"`
	Query    *string `protobuf:"bytes,2,opt,name=query,proto3,oneof" json:"query,omitempty"`
}

func (x *Rerank) Reset() {
	*x = Rerank{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Rerank) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Rerank) ProtoMessage() {}

func (x *Rerank) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Rerank.ProtoReflect.Descriptor instead.
func (*Rerank) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{19}
}

func (x *Rerank) GetProperty() string {
	if x != nil {
		return x.Property
	}
	return ""
}

func (x *Rerank) GetQuery() string {
	if x != nil && x.Query != nil {
		return *x.Query
	}
	return ""
}

type SearchReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Took                    float32          `protobuf:"fixed32,1,opt,name=took,proto3" json:"took,omitempty"`
	Results                 []*SearchResult  `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
	GenerativeGroupedResult *string          `protobuf:"bytes,3,opt,name=generative_grouped_result,json=generativeGroupedResult,proto3,oneof" json:"generative_grouped_result,omitempty"`
	GroupByResults          []*GroupByResult `protobuf:"bytes,4,rep,name=group_by_results,json=groupByResults,proto3" json:"group_by_results,omitempty"`
}

func (x *SearchReply) Reset() {
	*x = SearchReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchReply) ProtoMessage() {}

func (x *SearchReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchReply.ProtoReflect.Descriptor instead.
func (*SearchReply) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{20}
}

func (x *SearchReply) GetTook() float32 {
	if x != nil {
		return x.Took
	}
	return 0
}

func (x *SearchReply) GetResults() []*SearchResult {
	if x != nil {
		return x.Results
	}
	return nil
}

func (x *SearchReply) GetGenerativeGroupedResult() string {
	if x != nil && x.GenerativeGroupedResult != nil {
		return *x.GenerativeGroupedResult
	}
	return ""
}

func (x *SearchReply) GetGroupByResults() []*GroupByResult {
	if x != nil {
		return x.GroupByResults
	}
	return nil
}

type RerankReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Score float64 `protobuf:"fixed64,1,opt,name=score,proto3" json:"score,omitempty"`
}

func (x *RerankReply) Reset() {
	*x = RerankReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RerankReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RerankReply) ProtoMessage() {}

func (x *RerankReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RerankReply.ProtoReflect.Descriptor instead.
func (*RerankReply) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{21}
}

func (x *RerankReply) GetScore() float64 {
	if x != nil {
		return x.Score
	}
	return 0
}

type GenerativeReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Result string `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
}

func (x *GenerativeReply) Reset() {
	*x = GenerativeReply{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GenerativeReply) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenerativeReply) ProtoMessage() {}

func (x *GenerativeReply) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenerativeReply.ProtoReflect.Descriptor instead.
func (*GenerativeReply) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{22}
}

func (x *GenerativeReply) GetResult() string {
	if x != nil {
		return x.Result
	}
	return ""
}

type GroupByResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Name            string           `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	MinDistance     float32          `protobuf:"fixed32,2,opt,name=min_distance,json=minDistance,proto3" json:"min_distance,omitempty"`
	MaxDistance     float32          `protobuf:"fixed32,3,opt,name=max_distance,json=maxDistance,proto3" json:"max_distance,omitempty"`
	NumberOfObjects int64            `protobuf:"varint,4,opt,name=number_of_objects,json=numberOfObjects,proto3" json:"number_of_objects,omitempty"`
	Objects         []*SearchResult  `protobuf:"bytes,5,rep,name=objects,proto3" json:"objects,omitempty"`
	Rerank          *RerankReply     `protobuf:"bytes,6,opt,name=rerank,proto3,oneof" json:"rerank,omitempty"`
	Generative      *GenerativeReply `protobuf:"bytes,7,opt,name=generative,proto3,oneof" json:"generative,omitempty"`
}

func (x *GroupByResult) Reset() {
	*x = GroupByResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GroupByResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GroupByResult) ProtoMessage() {}

func (x *GroupByResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GroupByResult.ProtoReflect.Descriptor instead.
func (*GroupByResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{23}
}

func (x *GroupByResult) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *GroupByResult) GetMinDistance() float32 {
	if x != nil {
		return x.MinDistance
	}
	return 0
}

func (x *GroupByResult) GetMaxDistance() float32 {
	if x != nil {
		return x.MaxDistance
	}
	return 0
}

func (x *GroupByResult) GetNumberOfObjects() int64 {
	if x != nil {
		return x.NumberOfObjects
	}
	return 0
}

func (x *GroupByResult) GetObjects() []*SearchResult {
	if x != nil {
		return x.Objects
	}
	return nil
}

func (x *GroupByResult) GetRerank() *RerankReply {
	if x != nil {
		return x.Rerank
	}
	return nil
}

func (x *GroupByResult) GetGenerative() *GenerativeReply {
	if x != nil {
		return x.Generative
	}
	return nil
}

type SearchResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Properties *PropertiesResult `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"`
	Metadata   *MetadataResult   `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"`
}

func (x *SearchResult) Reset() {
	*x = SearchResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *SearchResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SearchResult) ProtoMessage() {}

func (x *SearchResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SearchResult.ProtoReflect.Descriptor instead.
func (*SearchResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{24}
}

func (x *SearchResult) GetProperties() *PropertiesResult {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *SearchResult) GetMetadata() *MetadataResult {
	if x != nil {
		return x.Metadata
	}
	return nil
}

type MetadataResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// protolint:disable:next REPEATED_FIELD_NAMES_PLURALIZED
	//
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	Vector                    []float32  `protobuf:"fixed32,2,rep,packed,name=vector,proto3" json:"vector,omitempty"`
	CreationTimeUnix          int64      `protobuf:"varint,3,opt,name=creation_time_unix,json=creationTimeUnix,proto3" json:"creation_time_unix,omitempty"`
	CreationTimeUnixPresent   bool       `protobuf:"varint,4,opt,name=creation_time_unix_present,json=creationTimeUnixPresent,proto3" json:"creation_time_unix_present,omitempty"`
	LastUpdateTimeUnix        int64      `protobuf:"varint,5,opt,name=last_update_time_unix,json=lastUpdateTimeUnix,proto3" json:"last_update_time_unix,omitempty"`
	LastUpdateTimeUnixPresent bool       `protobuf:"varint,6,opt,name=last_update_time_unix_present,json=lastUpdateTimeUnixPresent,proto3" json:"last_update_time_unix_present,omitempty"`
	Distance                  float32    `protobuf:"fixed32,7,opt,name=distance,proto3" json:"distance,omitempty"`
	DistancePresent           bool       `protobuf:"varint,8,opt,name=distance_present,json=distancePresent,proto3" json:"distance_present,omitempty"`
	Certainty                 float32    `protobuf:"fixed32,9,opt,name=certainty,proto3" json:"certainty,omitempty"`
	CertaintyPresent          bool       `protobuf:"varint,10,opt,name=certainty_present,json=certaintyPresent,proto3" json:"certainty_present,omitempty"`
	Score                     float32    `protobuf:"fixed32,11,opt,name=score,proto3" json:"score,omitempty"`
	ScorePresent              bool       `protobuf:"varint,12,opt,name=score_present,json=scorePresent,proto3" json:"score_present,omitempty"`
	ExplainScore              string     `protobuf:"bytes,13,opt,name=explain_score,json=explainScore,proto3" json:"explain_score,omitempty"`
	ExplainScorePresent       bool       `protobuf:"varint,14,opt,name=explain_score_present,json=explainScorePresent,proto3" json:"explain_score_present,omitempty"`
	IsConsistent              *bool      `protobuf:"varint,15,opt,name=is_consistent,json=isConsistent,proto3,oneof" json:"is_consistent,omitempty"`
	Generative                string     `protobuf:"bytes,16,opt,name=generative,proto3" json:"generative,omitempty"`
	GenerativePresent         bool       `protobuf:"varint,17,opt,name=generative_present,json=generativePresent,proto3" json:"generative_present,omitempty"`
	IsConsistentPresent       bool       `protobuf:"varint,18,opt,name=is_consistent_present,json=isConsistentPresent,proto3" json:"is_consistent_present,omitempty"`
	VectorBytes               []byte     `protobuf:"bytes,19,opt,name=vector_bytes,json=vectorBytes,proto3" json:"vector_bytes,omitempty"`
	IdAsBytes                 []byte     `protobuf:"bytes,20,opt,name=id_as_bytes,json=idAsBytes,proto3" json:"id_as_bytes,omitempty"`
	RerankScore               float64    `protobuf:"fixed64,21,opt,name=rerank_score,json=rerankScore,proto3" json:"rerank_score,omitempty"`
	RerankScorePresent        bool       `protobuf:"varint,22,opt,name=rerank_score_present,json=rerankScorePresent,proto3" json:"rerank_score_present,omitempty"`
	Vectors                   []*Vectors `protobuf:"bytes,23,rep,name=vectors,proto3" json:"vectors,omitempty"`
}

func (x *MetadataResult) Reset() {
	*x = MetadataResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MetadataResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetadataResult) ProtoMessage() {}

func (x *MetadataResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MetadataResult.ProtoReflect.Descriptor instead.
func (*MetadataResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{25}
}

func (x *MetadataResult) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *MetadataResult) GetVector() []float32 {
	if x != nil {
		return x.Vector
	}
	return nil
}

func (x *MetadataResult) GetCreationTimeUnix() int64 {
	if x != nil {
		return x.CreationTimeUnix
	}
	return 0
}

func (x *MetadataResult) GetCreationTimeUnixPresent() bool {
	if x != nil {
		return x.CreationTimeUnixPresent
	}
	return false
}

func (x *MetadataResult) GetLastUpdateTimeUnix() int64 {
	if x != nil {
		return x.LastUpdateTimeUnix
	}
	return 0
}

func (x *MetadataResult) GetLastUpdateTimeUnixPresent() bool {
	if x != nil {
		return x.LastUpdateTimeUnixPresent
	}
	return false
}

func (x *MetadataResult) GetDistance() float32 {
	if x != nil {
		return x.Distance
	}
	return 0
}

func (x *MetadataResult) GetDistancePresent() bool {
	if x != nil {
		return x.DistancePresent
	}
	return false
}

func (x *MetadataResult) GetCertainty() float32 {
	if x != nil {
		return x.Certainty
	}
	return 0
}

func (x *MetadataResult) GetCertaintyPresent() bool {
	if x != nil {
		return x.CertaintyPresent
	}
	return false
}

func (x *MetadataResult) GetScore() float32 {
	if x != nil {
		return x.Score
	}
	return 0
}

func (x *MetadataResult) GetScorePresent() bool {
	if x != nil {
		return x.ScorePresent
	}
	return false
}

func (x *MetadataResult) GetExplainScore() string {
	if x != nil {
		return x.ExplainScore
	}
	return ""
}

func (x *MetadataResult) GetExplainScorePresent() bool {
	if x != nil {
		return x.ExplainScorePresent
	}
	return false
}

func (x *MetadataResult) GetIsConsistent() bool {
	if x != nil && x.IsConsistent != nil {
		return *x.IsConsistent
	}
	return false
}

func (x *MetadataResult) GetGenerative() string {
	if x != nil {
		return x.Generative
	}
	return ""
}

func (x *MetadataResult) GetGenerativePresent() bool {
	if x != nil {
		return x.GenerativePresent
	}
	return false
}

func (x *MetadataResult) GetIsConsistentPresent() bool {
	if x != nil {
		return x.IsConsistentPresent
	}
	return false
}

func (x *MetadataResult) GetVectorBytes() []byte {
	if x != nil {
		return x.VectorBytes
	}
	return nil
}

func (x *MetadataResult) GetIdAsBytes() []byte {
	if x != nil {
		return x.IdAsBytes
	}
	return nil
}

func (x *MetadataResult) GetRerankScore() float64 {
	if x != nil {
		return x.RerankScore
	}
	return 0
}

func (x *MetadataResult) GetRerankScorePresent() bool {
	if x != nil {
		return x.RerankScorePresent
	}
	return false
}

func (x *MetadataResult) GetVectors() []*Vectors {
	if x != nil {
		return x.Vectors
	}
	return nil
}

type PropertiesResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Deprecated: Marked as deprecated in v1/search_get.proto.
	NonRefProperties *structpb.Struct       `protobuf:"bytes,1,opt,name=non_ref_properties,json=nonRefProperties,proto3" json:"non_ref_properties,omitempty"`
	RefProps         []*RefPropertiesResult `protobuf:"bytes,2,rep,name=ref_props,json=refProps,proto3" json:"ref_props,omitempty"`
	TargetCollection string                 `protobuf:"bytes,3,opt,name=target_collection,json=targetCollection,proto3" json:"target_collection,omitempty"`
	Metadata         *MetadataResult        `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	NumberArrayProperties []*NumberArrayProperties `protobuf:"bytes,5,rep,name=number_array_properties,json=numberArrayProperties,proto3" json:"number_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	IntArrayProperties []*IntArrayProperties `protobuf:"bytes,6,rep,name=int_array_properties,json=intArrayProperties,proto3" json:"int_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	TextArrayProperties []*TextArrayProperties `protobuf:"bytes,7,rep,name=text_array_properties,json=textArrayProperties,proto3" json:"text_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	BooleanArrayProperties []*BooleanArrayProperties `protobuf:"bytes,8,rep,name=boolean_array_properties,json=booleanArrayProperties,proto3" json:"boolean_array_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	ObjectProperties []*ObjectProperties `protobuf:"bytes,9,rep,name=object_properties,json=objectProperties,proto3" json:"object_properties,omitempty"`
	// Deprecated: Marked as deprecated in v1/search_get.proto.
	ObjectArrayProperties []*ObjectArrayProperties `protobuf:"bytes,10,rep,name=object_array_properties,json=objectArrayProperties,proto3" json:"object_array_properties,omitempty"`
	NonRefProps           *Properties              `protobuf:"bytes,11,opt,name=non_ref_props,json=nonRefProps,proto3" json:"non_ref_props,omitempty"`
	RefPropsRequested     bool                     `protobuf:"varint,12,opt,name=ref_props_requested,json=refPropsRequested,proto3" json:"ref_props_requested,omitempty"`
}

func (x *PropertiesResult) Reset() {
	*x = PropertiesResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *PropertiesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PropertiesResult) ProtoMessage() {}

func (x *PropertiesResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PropertiesResult.ProtoReflect.Descriptor instead.
func (*PropertiesResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{26}
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetNonRefProperties() *structpb.Struct {
	if x != nil {
		return x.NonRefProperties
	}
	return nil
}

func (x *PropertiesResult) GetRefProps() []*RefPropertiesResult {
	if x != nil {
		return x.RefProps
	}
	return nil
}

func (x *PropertiesResult) GetTargetCollection() string {
	if x != nil {
		return x.TargetCollection
	}
	return ""
}

func (x *PropertiesResult) GetMetadata() *MetadataResult {
	if x != nil {
		return x.Metadata
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetNumberArrayProperties() []*NumberArrayProperties {
	if x != nil {
		return x.NumberArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetIntArrayProperties() []*IntArrayProperties {
	if x != nil {
		return x.IntArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetTextArrayProperties() []*TextArrayProperties {
	if x != nil {
		return x.TextArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetBooleanArrayProperties() []*BooleanArrayProperties {
	if x != nil {
		return x.BooleanArrayProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetObjectProperties() []*ObjectProperties {
	if x != nil {
		return x.ObjectProperties
	}
	return nil
}

// Deprecated: Marked as deprecated in v1/search_get.proto.
func (x *PropertiesResult) GetObjectArrayProperties() []*ObjectArrayProperties {
	if x != nil {
		return x.ObjectArrayProperties
	}
	return nil
}

func (x *PropertiesResult) GetNonRefProps() *Properties {
	if x != nil {
		return x.NonRefProps
	}
	return nil
}

func (x *PropertiesResult) GetRefPropsRequested() bool {
	if x != nil {
		return x.RefPropsRequested
	}
	return false
}

type RefPropertiesResult struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Properties []*PropertiesResult `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty"`
	PropName   string              `protobuf:"bytes,2,opt,name=prop_name,json=propName,proto3" json:"prop_name,omitempty"`
}

func (x *RefPropertiesResult) Reset() {
	*x = RefPropertiesResult{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[27]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *RefPropertiesResult) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RefPropertiesResult) ProtoMessage() {}

func (x *RefPropertiesResult) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[27]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RefPropertiesResult.ProtoReflect.Descriptor instead.
func (*RefPropertiesResult) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{27}
}

func (x *RefPropertiesResult) GetProperties() []*PropertiesResult {
	if x != nil {
		return x.Properties
	}
	return nil
}

func (x *RefPropertiesResult) GetPropName() string {
	if x != nil {
		return x.PropName
	}
	return ""
}

type NearTextSearch_Move struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Force    float32  `protobuf:"fixed32,1,opt,name=force,proto3" json:"force,omitempty"`
	Concepts []string `protobuf:"bytes,2,rep,name=concepts,proto3" json:"concepts,omitempty"`
	Uuids    []string `protobuf:"bytes,3,rep,name=uuids,proto3" json:"uuids,omitempty"`
}

func (x *NearTextSearch_Move) Reset() {
	*x = NearTextSearch_Move{}
	if protoimpl.UnsafeEnabled {
		mi := &file_v1_search_get_proto_msgTypes[28]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *NearTextSearch_Move) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NearTextSearch_Move) ProtoMessage() {}

func (x *NearTextSearch_Move) ProtoReflect() protoreflect.Message {
	mi := &file_v1_search_get_proto_msgTypes[28]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NearTextSearch_Move.ProtoReflect.Descriptor instead.
func (*NearTextSearch_Move) Descriptor() ([]byte, []int) {
	return file_v1_search_get_proto_rawDescGZIP(), []int{8, 0}
}

func (x *NearTextSearch_Move) GetForce() float32 {
	if x != nil {
		return x.Force
	}
	return 0
}

func (x *NearTextSearch_Move) GetConcepts() []string {
	if x != nil {
		return x.Concepts
	}
	return nil
}

func (x *NearTextSearch_Move) GetUuids() []string {
	if x != nil {
		return x.Uuids
	}
	return nil
}

var File_v1_search_get_proto protoreflect.FileDescriptor

var file_v1_search_get_proto_rawDesc = []byte{
	0x0a, 0x13, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x67, 0x65, 0x74, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x0d, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x13, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa1, 0x0d, 0x0a, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6c, 0x6c,
	0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x4f,
	0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65,
	0x76, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x73,
	0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12,
	0x43, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x14, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
	0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x18,
	0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x48, 0x03, 0x52, 0x07, 0x67,
	0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d,
	0x69, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12,
	0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0d, 0x52,
	0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x63,
	0x75, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x75,
	0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x61, 0x66, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x5f,
	0x62, 0x79, 0x18, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x52, 0x06, 0x73,
	0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x33, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73,
	0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x48, 0x04, 0x52, 0x07,
	0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0d, 0x68, 0x79,
	0x62, 0x72, 0x69, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x29, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x48, 0x05, 0x52, 0x0c, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64,
	0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0b, 0x62, 0x6d, 0x32,
	0x35, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x4d, 0x32,
	0x35, 0x48, 0x06, 0x52, 0x0a, 0x62, 0x6d, 0x32, 0x35, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x88,
	0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72,
	0x48, 0x07, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01,
	0x01, 0x12, 0x3d, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
	0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48,
	0x08, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01,
	0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x2d, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68,
	0x48, 0x09, 0x52, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, 0x12,
	0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x2e, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63,
	0x68, 0x48, 0x0a, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01,
	0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18,
	0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x48, 0x0b, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f,
	0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x69, 0x64, 0x65,
	0x6f, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0c, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64,
	0x65, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x64, 0x65,
	0x70, 0x74, 0x68, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x44, 0x65, 0x70, 0x74,
	0x68, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0d, 0x52, 0x09, 0x6e, 0x65, 0x61, 0x72, 0x44,
	0x65, 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x6e, 0x65, 0x61, 0x72, 0x5f,
	0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
	0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72,
	0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0e, 0x52,
	0x0b, 0x6e, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12,
	0x3a, 0x0a, 0x08, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x75, 0x18, 0x33, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x4e, 0x65, 0x61, 0x72, 0x49, 0x4d, 0x55, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x0f, 0x52,
	0x07, 0x6e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x75, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0a, 0x67,
	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x48, 0x10,
	0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x30, 0x0a, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x13, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65,
	0x72, 0x61, 0x6e, 0x6b, 0x48, 0x11, 0x52, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x88, 0x01,
	0x01, 0x12, 0x24, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f, 0x31, 0x32, 0x33, 0x5f, 0x61, 0x70,
	0x69, 0x18, 0x64, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x75, 0x73, 0x65,
	0x73, 0x31, 0x32, 0x33, 0x41, 0x70, 0x69, 0x12, 0x20, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x73, 0x5f,
	0x31, 0x32, 0x35, 0x5f, 0x61, 0x70, 0x69, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x75,
	0x73, 0x65, 0x73, 0x31, 0x32, 0x35, 0x41, 0x70, 0x69, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f,
	0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42,
	0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x0b,
	0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0b, 0x0a, 0x09, 0x5f,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x69, 0x6c,
	0x74, 0x65, 0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x79, 0x62, 0x72, 0x69, 0x64, 0x5f,
	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6d, 0x32, 0x35, 0x5f,
	0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f,
	0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f,
	0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f,
	0x74, 0x65, 0x78, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d,
	0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x61, 0x75, 0x64,
	0x69, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x69, 0x64, 0x65,
	0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x74, 0x68,
	0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61,
	0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x6d, 0x75, 0x42, 0x0d,
	0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x42, 0x09, 0x0a,
	0x07, 0x5f, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x22, 0x73, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x42, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x62, 0x65,
	0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72,
	0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x73, 0x50, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3a, 0x0a,
	0x06, 0x53, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x63, 0x65, 0x6e,
	0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x73, 0x63, 0x65,
	0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xab, 0x01, 0x0a, 0x10, 0x47, 0x65,
	0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x34,
	0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14,
	0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x72,
	0x6f, 0x6d, 0x70, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f,
	0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x13, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2d, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75,
	0x70, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xd2, 0x02, 0x0a, 0x0f, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x75,
	0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12,
	0x16, 0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
	0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x04,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
	0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74,
	0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28,
	0x08, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c,
	0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52,
	0x0c, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x23, 0x0a,
	0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x09,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65,
	0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x9f, 0x02, 0x0a,
	0x11, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10,
	0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x12, 0x48, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x66,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3f, 0x0a,
	0x1c, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x6e, 0x6f, 0x6e, 0x72,
	0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x19, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x41, 0x6c, 0x6c, 0x4e, 0x6f,
	0x6e, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xbc,
	0x01, 0x0a, 0x17, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72,
	0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70,
	0x72, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x69,
	0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x11, 0x6f, 0x62,
	0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x10, 0x6f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xd2, 0x03,
	0x0a, 0x06, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e,
	0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a,
	0x0a, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c,
	0x70, 0x68, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x61, 0x6c, 0x70, 0x68, 0x61,
	0x12, 0x3f, 0x0a, 0x0b, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x48, 0x79, 0x62, 0x72, 0x69, 0x64, 0x2e, 0x46, 0x75, 0x73, 0x69, 0x6f,
	0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x66, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70,
	0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65,
	0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42,
	0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x6e,
	0x65, 0x61, 0x72, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61,
	0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x08, 0x6e, 0x65, 0x61,
	0x72, 0x54, 0x65, 0x78, 0x74, 0x12, 0x38, 0x0a, 0x0b, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x52, 0x0a, 0x6e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22,
	0x61, 0x0a, 0x0a, 0x46, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a,
	0x17, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55,
	0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x41, 0x4e, 0x4b, 0x45, 0x44,
	0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x55, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50,
	0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x43, 0x4f, 0x52, 0x45,
	0x10, 0x02, 0x22, 0x9a, 0x03, 0x0a, 0x0e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x09, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00,
	0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f,
	0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
	0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12,
	0x3e, 0x0a, 0x07, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e,
	0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x4d, 0x6f,
	0x76, 0x65, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x6f, 0x76, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12,
	0x42, 0x0a, 0x09, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e,
	0x4d, 0x6f, 0x76, 0x65, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x77, 0x61, 0x79,
	0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x4e, 0x0a, 0x04, 0x4d, 0x6f,
	0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x63,
	0x65, 0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x63,
	0x65, 0x70, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20,
	0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x75, 0x69, 0x64, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x74,
	0x6f, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x61, 0x77, 0x61, 0x79, 0x22,
	0xad, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0xad, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0xad, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0xad, 0x01, 0x0a, 0x0f, 0x4e, 0x65, 0x61, 0x72, 0x44, 0x65, 0x70, 0x74, 0x68, 0x53, 0x65, 0x61,
	0x72, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x64, 0x65, 0x70, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0xb3, 0x01, 0x0a, 0x11, 0x4e, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x53,
	0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x68, 0x65, 0x72, 0x6d, 0x61, 0x6c, 0x12,
	0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88,
	0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x61, 0x72, 0x49, 0x4d,
	0x55, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x6d, 0x75, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x6d, 0x75, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72,
	0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01,
	0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a,
	0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18,
	0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65, 0x63,
	0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22,
	0x3c, 0x0a, 0x04, 0x42, 0x4d, 0x32, 0x35, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1e, 0x0a,
	0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xec, 0x01,
	0x0a, 0x14, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
	0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, 0x61, 0x76,
	0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
	0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
	0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
	0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd1, 0x01, 0x0a,
	0x0a, 0x4e, 0x65, 0x61, 0x72, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x06, 0x76,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61,
	0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65,
	0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69,
	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08,
	0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x76,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0c, 0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25,
	0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69,
	0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x22, 0xa2, 0x01, 0x0a, 0x0a, 0x4e, 0x65, 0x61, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
	0x21, 0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x88,
	0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
	0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63,
	0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73,
	0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x49, 0x0a, 0x06, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x12,
	0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x19, 0x0a, 0x05, 0x71,
	0x75, 0x65, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x71, 0x75,
	0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79,
	0x22, 0xfb, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x70, 0x6c, 0x79,
	0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x04,
	0x74, 0x6f, 0x6f, 0x6b, 0x12, 0x33, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x19, 0x67, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f,
	0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17,
	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65,
	0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x10, 0x67, 0x72,
	0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x52, 0x0e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
	0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x23,
	0x0a, 0x0b, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a,
	0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x73, 0x63,
	0x6f, 0x72, 0x65, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76,
	0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xde,
	0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x74,
	0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x44,
	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x64,
	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x6d,
	0x61, 0x78, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75,
	0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x4f,
	0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
	0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75,
	0x6c, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x72,
	0x65, 0x72, 0x61, 0x6e, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65,
	0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x72, 0x61, 0x6e, 0x6b,
	0x52, 0x65, 0x70, 0x6c, 0x79, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x88,
	0x01, 0x01, 0x12, 0x41, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65,
	0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x52,
	0x65, 0x70, 0x6c, 0x79, 0x48, 0x01, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b,
	0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x22,
	0x86, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
	0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73,
	0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12,
	0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e,
	0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc9, 0x07, 0x0a, 0x0e, 0x4d, 0x65, 0x74,
	0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69,
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x76,
	0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52,
	0x06, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d,
	0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x73,
	0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78, 0x50, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74,
	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x03, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
	0x65, 0x55, 0x6e, 0x69, 0x78, 0x12, 0x40, 0x0a, 0x1d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70,
	0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x70,
	0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x6c, 0x61,
	0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x55, 0x6e, 0x69, 0x78,
	0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61,
	0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f,
	0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x64,
	0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x1c,
	0x0a, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
	0x02, 0x52, 0x09, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11,
	0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e,
	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e,
	0x74, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f,
	0x72, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12,
	0x23, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
	0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65,
	0x73, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x5f,
	0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x70,
	0x6c, 0x61, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x65, 0x78, 0x70,
	0x6c, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x69,
	0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a,
	0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6e,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x67, 0x65, 0x6e, 0x65, 0x72,
	0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20,
	0x01, 0x28, 0x08, 0x52, 0x11, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50,
	0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e,
	0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18,
	0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74,
	0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65,
	0x63, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x0b, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a,
	0x0b, 0x69, 0x64, 0x5f, 0x61, 0x73, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x14, 0x20, 0x01,
	0x28, 0x0c, 0x52, 0x09, 0x69, 0x64, 0x41, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a,
	0x0c, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x15, 0x20,
	0x01, 0x28, 0x01, 0x52, 0x0b, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65,
	0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65,
	0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12,
	0x72, 0x65, 0x72, 0x61, 0x6e, 0x6b, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65,
	0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x17, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76,
	0x31, 0x2e, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x07, 0x76, 0x65, 0x63, 0x74, 0x6f,
	0x72, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73,
	0x74, 0x65, 0x6e, 0x74, 0x22, 0x93, 0x07, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x49, 0x0a, 0x12, 0x6e, 0x6f, 0x6e,
	0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70,
	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
	0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x08, 0x72, 0x65, 0x66, 0x50, 0x72,
	0x6f, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f,
	0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10,
	0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31,
	0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
	0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5e, 0x0a, 0x17, 0x6e, 0x75, 0x6d,
	0x62, 0x65, 0x72, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72,
	0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x77, 0x65, 0x61,
	0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41,
	0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02,
	0x18, 0x01, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x14, 0x69, 0x6e, 0x74,
	0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61,
	0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x12, 0x69, 0x6e,
	0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x12, 0x58, 0x0a, 0x15, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70,
	0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x20, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
	0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x74, 0x65, 0x78, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79,
	0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x18, 0x62, 0x6f,
	0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x70,
	0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x77,
	0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x65,
	0x61, 0x6e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
	0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x41, 0x72,
	0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4e, 0x0a,
	0x11, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69,
	0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f,
	0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5e, 0x0a,
	0x17, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5f, 0x70, 0x72,
	0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22,
	0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a,
	0x65, 0x63, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
	0x65, 0x73, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x72,
	0x72, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a,
	0x0d, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x6e,
	0x6f, 0x6e, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65,
	0x66, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x70,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x71, 0x0a, 0x13, 0x52, 0x65,
	0x66, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c,
	0x74, 0x12, 0x3d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65,
	0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65,
	0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
	0x12, 0x1b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x73, 0x0a,
	0x23, 0x69, 0x6f, 0x2e, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6c, 0x69,
	0x65, 0x6e, 0x74, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
	0x6c, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x57, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x50, 0x72,
	0x6f, 0x74, 0x6f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x47, 0x65, 0x74, 0x5a, 0x34, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74,
	0x65, 0x2f, 0x77, 0x65, 0x61, 0x76, 0x69, 0x61, 0x74, 0x65, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f,
	0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
	0x6f, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_v1_search_get_proto_rawDescOnce sync.Once
	file_v1_search_get_proto_rawDescData = file_v1_search_get_proto_rawDesc
)

func file_v1_search_get_proto_rawDescGZIP() []byte {
	file_v1_search_get_proto_rawDescOnce.Do(func() {
		file_v1_search_get_proto_rawDescData = protoimpl.X.CompressGZIP(file_v1_search_get_proto_rawDescData)
	})
	return file_v1_search_get_proto_rawDescData
}

var file_v1_search_get_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_v1_search_get_proto_msgTypes = make([]protoimpl.MessageInfo, 29)
var file_v1_search_get_proto_goTypes = []interface{}{
	(Hybrid_FusionType)(0),          // 0: weaviate.v1.Hybrid.FusionType
	(*SearchRequest)(nil),           // 1: weaviate.v1.SearchRequest
	(*GroupBy)(nil),                 // 2: weaviate.v1.GroupBy
	(*SortBy)(nil),                  // 3: weaviate.v1.SortBy
	(*GenerativeSearch)(nil),        // 4: weaviate.v1.GenerativeSearch
	(*MetadataRequest)(nil),         // 5: weaviate.v1.MetadataRequest
	(*PropertiesRequest)(nil),       // 6: weaviate.v1.PropertiesRequest
	(*ObjectPropertiesRequest)(nil), // 7: weaviate.v1.ObjectPropertiesRequest
	(*Hybrid)(nil),                  // 8: weaviate.v1.Hybrid
	(*NearTextSearch)(nil),          // 9: weaviate.v1.NearTextSearch
	(*NearImageSearch)(nil),         // 10: weaviate.v1.NearImageSearch
	(*NearAudioSearch)(nil),         // 11: weaviate.v1.NearAudioSearch
	(*NearVideoSearch)(nil),         // 12: weaviate.v1.NearVideoSearch
	(*NearDepthSearch)(nil),         // 13: weaviate.v1.NearDepthSearch
	(*NearThermalSearch)(nil),       // 14: weaviate.v1.NearThermalSearch
	(*NearIMUSearch)(nil),           // 15: weaviate.v1.NearIMUSearch
	(*BM25)(nil),                    // 16: weaviate.v1.BM25
	(*RefPropertiesRequest)(nil),    // 17: weaviate.v1.RefPropertiesRequest
	(*NearVector)(nil),              // 18: weaviate.v1.NearVector
	(*NearObject)(nil),              // 19: weaviate.v1.NearObject
	(*Rerank)(nil),                  // 20: weaviate.v1.Rerank
	(*SearchReply)(nil),             // 21: weaviate.v1.SearchReply
	(*RerankReply)(nil),             // 22: weaviate.v1.RerankReply
	(*GenerativeReply)(nil),         // 23: weaviate.v1.GenerativeReply
	(*GroupByResult)(nil),           // 24: weaviate.v1.GroupByResult
	(*SearchResult)(nil),            // 25: weaviate.v1.SearchResult
	(*MetadataResult)(nil),          // 26: weaviate.v1.MetadataResult
	(*PropertiesResult)(nil),        // 27: weaviate.v1.PropertiesResult
	(*RefPropertiesResult)(nil),     // 28: weaviate.v1.RefPropertiesResult
	(*NearTextSearch_Move)(nil),     // 29: weaviate.v1.NearTextSearch.Move
	(ConsistencyLevel)(0),           // 30: weaviate.v1.ConsistencyLevel
	(*Filters)(nil),                 // 31: weaviate.v1.Filters
	(*Vectors)(nil),                 // 32: weaviate.v1.Vectors
	(*structpb.Struct)(nil),         // 33: google.protobuf.Struct
	(*NumberArrayProperties)(nil),   // 34: weaviate.v1.NumberArrayProperties
	(*IntArrayProperties)(nil),      // 35: weaviate.v1.IntArrayProperties
	(*TextArrayProperties)(nil),     // 36: weaviate.v1.TextArrayProperties
	(*BooleanArrayProperties)(nil),  // 37: weaviate.v1.BooleanArrayProperties
	(*ObjectProperties)(nil),        // 38: weaviate.v1.ObjectProperties
	(*ObjectArrayProperties)(nil),   // 39: weaviate.v1.ObjectArrayProperties
	(*Properties)(nil),              // 40: weaviate.v1.Properties
}
var file_v1_search_get_proto_depIdxs = []int32{
	30, // 0: weaviate.v1.SearchRequest.consistency_level:type_name -> weaviate.v1.ConsistencyLevel
	6,  // 1: weaviate.v1.SearchRequest.properties:type_name -> weaviate.v1.PropertiesRequest
	5,  // 2: weaviate.v1.SearchRequest.metadata:type_name -> weaviate.v1.MetadataRequest
	2,  // 3: weaviate.v1.SearchRequest.group_by:type_name -> weaviate.v1.GroupBy
	3,  // 4: weaviate.v1.SearchRequest.sort_by:type_name -> weaviate.v1.SortBy
	31, // 5: weaviate.v1.SearchRequest.filters:type_name -> weaviate.v1.Filters
	8,  // 6: weaviate.v1.SearchRequest.hybrid_search:type_name -> weaviate.v1.Hybrid
	16, // 7: weaviate.v1.SearchRequest.bm25_search:type_name -> weaviate.v1.BM25
	18, // 8: weaviate.v1.SearchRequest.near_vector:type_name -> weaviate.v1.NearVector
	19, // 9: weaviate.v1.SearchRequest.near_object:type_name -> weaviate.v1.NearObject
	9,  // 10: weaviate.v1.SearchRequest.near_text:type_name -> weaviate.v1.NearTextSearch
	10, // 11: weaviate.v1.SearchRequest.near_image:type_name -> weaviate.v1.NearImageSearch
	11, // 12: weaviate.v1.SearchRequest.near_audio:type_name -> weaviate.v1.NearAudioSearch
	12, // 13: weaviate.v1.SearchRequest.near_video:type_name -> weaviate.v1.NearVideoSearch
	13, // 14: weaviate.v1.SearchRequest.near_depth:type_name -> weaviate.v1.NearDepthSearch
	14, // 15: weaviate.v1.SearchRequest.near_thermal:type_name -> weaviate.v1.NearThermalSearch
	15, // 16: weaviate.v1.SearchRequest.near_imu:type_name -> weaviate.v1.NearIMUSearch
	4,  // 17: weaviate.v1.SearchRequest.generative:type_name -> weaviate.v1.GenerativeSearch
	20, // 18: weaviate.v1.SearchRequest.rerank:type_name -> weaviate.v1.Rerank
	17, // 19: weaviate.v1.PropertiesRequest.ref_properties:type_name -> weaviate.v1.RefPropertiesRequest
	7,  // 20: weaviate.v1.PropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest
	7,  // 21: weaviate.v1.ObjectPropertiesRequest.object_properties:type_name -> weaviate.v1.ObjectPropertiesRequest
	0,  // 22: weaviate.v1.Hybrid.fusion_type:type_name -> weaviate.v1.Hybrid.FusionType
	9,  // 23: weaviate.v1.Hybrid.near_text:type_name -> weaviate.v1.NearTextSearch
	18, // 24: weaviate.v1.Hybrid.near_vector:type_name -> weaviate.v1.NearVector
	2,  // 25: weaviate.v1.Hybrid.group_by:type_name -> weaviate.v1.GroupBy
	29, // 26: weaviate.v1.NearTextSearch.move_to:type_name -> weaviate.v1.NearTextSearch.Move
	29, // 27: weaviate.v1.NearTextSearch.move_away:type_name -> weaviate.v1.NearTextSearch.Move
	2,  // 28: weaviate.v1.BM25.group_by:type_name -> weaviate.v1.GroupBy
	6,  // 29: weaviate.v1.RefPropertiesRequest.properties:type_name -> weaviate.v1.PropertiesRequest
	5,  // 30: weaviate.v1.RefPropertiesRequest.metadata:type_name -> weaviate.v1.MetadataRequest
	25, // 31: weaviate.v1.SearchReply.results:type_name -> weaviate.v1.SearchResult
	24, // 32: weaviate.v1.SearchReply.group_by_results:type_name -> weaviate.v1.GroupByResult
	25, // 33: weaviate.v1.GroupByResult.objects:type_name -> weaviate.v1.SearchResult
	22, // 34: weaviate.v1.GroupByResult.rerank:type_name -> weaviate.v1.RerankReply
	23, // 35: weaviate.v1.GroupByResult.generative:type_name -> weaviate.v1.GenerativeReply
	27, // 36: weaviate.v1.SearchResult.properties:type_name -> weaviate.v1.PropertiesResult
	26, // 37: weaviate.v1.SearchResult.metadata:type_name -> weaviate.v1.MetadataResult
	32, // 38: weaviate.v1.MetadataResult.vectors:type_name -> weaviate.v1.Vectors
	33, // 39: weaviate.v1.PropertiesResult.non_ref_properties:type_name -> google.protobuf.Struct
	28, // 40: weaviate.v1.PropertiesResult.ref_props:type_name -> weaviate.v1.RefPropertiesResult
	26, // 41: weaviate.v1.PropertiesResult.metadata:type_name -> weaviate.v1.MetadataResult
	34, // 42: weaviate.v1.PropertiesResult.number_array_properties:type_name -> weaviate.v1.NumberArrayProperties
	35, // 43: weaviate.v1.PropertiesResult.int_array_properties:type_name -> weaviate.v1.IntArrayProperties
	36, // 44: weaviate.v1.PropertiesResult.text_array_properties:type_name -> weaviate.v1.TextArrayProperties
	37, // 45: weaviate.v1.PropertiesResult.boolean_array_properties:type_name -> weaviate.v1.BooleanArrayProperties
	38, // 46: weaviate.v1.PropertiesResult.object_properties:type_name -> weaviate.v1.ObjectProperties
	39, // 47: weaviate.v1.PropertiesResult.object_array_properties:type_name -> weaviate.v1.ObjectArrayProperties
	40, // 48: weaviate.v1.PropertiesResult.non_ref_props:type_name -> weaviate.v1.Properties
	27, // 49: weaviate.v1.RefPropertiesResult.properties:type_name -> weaviate.v1.PropertiesResult
	50, // [50:50] is the sub-list for method output_type
	50, // [50:50] is the sub-list for method input_type
	50, // [50:50] is the sub-list for extension type_name
	50, // [50:50] is the sub-list for extension extendee
	0,  // [0:50] is the sub-list for field type_name
}

func init() { file_v1_search_get_proto_init() }
func file_v1_search_get_proto_init() {
	if File_v1_search_get_proto != nil {
		return
	}
	file_v1_base_proto_init()
	file_v1_properties_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_v1_search_get_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GroupBy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SortBy); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetadataRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*ObjectPropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Hybrid); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearTextSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearImageSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearAudioSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearVideoSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearDepthSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearThermalSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearIMUSearch); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*BM25); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefPropertiesRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearVector); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearObject); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*Rerank); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RerankReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GenerativeReply); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*GroupByResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*SearchResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*MetadataResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*PropertiesResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*RefPropertiesResult); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_v1_search_get_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
			switch v := v.(*NearTextSearch_Move); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_v1_search_get_proto_msgTypes[0].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[8].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[9].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[10].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[11].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[12].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[13].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[14].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[17].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[18].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[19].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[20].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[23].OneofWrappers = []interface{}{}
	file_v1_search_get_proto_msgTypes[25].OneofWrappers = []interface{}{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_v1_search_get_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   29,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_v1_search_get_proto_goTypes,
		DependencyIndexes: file_v1_search_get_proto_depIdxs,
		EnumInfos:         file_v1_search_get_proto_enumTypes,
		MessageInfos:      file_v1_search_get_proto_msgTypes,
	}.Build()
	File_v1_search_get_proto = out.File
	file_v1_search_get_proto_rawDesc = nil
	file_v1_search_get_proto_goTypes = nil
	file_v1_search_get_proto_depIdxs = nil
}
